package com.wenx.v3system.modular.platform.domain.dto;

import com.wenx.base.domain.BaseDto;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import lombok.EqualsAndHashCode;

import jakarta.validation.constraints.NotBlank;
import jakarta.validation.constraints.NotNull;

/**
 * 平台用户角色关联DTO
 * 简化权限模型 - 直接使用角色编码
 * 
 * @author wenx
 */
@Data
@EqualsAndHashCode(callSuper = true)
@Schema(description = "平台用户角色关联信息")
public class PlatformUserRoleDto extends BaseDto {

    @NotNull(message = "用户ID不能为空")
    @Schema(description = "用户ID", example = "1")
    private Long userId;

    @NotBlank(message = "角色编码不能为空")
    @Schema(description = "角色编码", example = "super_admin")
    private String roleCode;

    // 扩展字段
    @Schema(description = "用户名", example = "admin")
    private String username;

    @Schema(description = "用户姓名", example = "管理员")
    private String userRealName;

    @Schema(description = "角色名称", example = "超级管理员")
    private String roleName;

    @Schema(description = "角色描述", example = "拥有平台所有权限")
    private String roleDescription;
} 